//配置全局根路径
axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net'

//拦截器设置请求头信息
// 请求拦截器
axios.interceptors.request.use(
  config => {
    // 每次发送请求之前判断vuex中是否存在token
    // 如果存在，则统一在http请求的header都加上token，这样后台根据token判断你的登录情况
    // 即使本地存在token，也有可能token是过期的，所以在响应拦截器中要对返回状态进行判断
    //判断是不是/my/开头的路径
    if (config.url.indexOf('/my/') == 0) {
      const token = window.localStorage.getItem('token')
      token && (config.headers.Authorization = token)
    }
    return config
  },
  error => {
    return Promise.reject(error)
  }
)

axios.interceptors.response.use(
  response => {
    // 如果返回的状态码为200，说明接口请求成功，可以正常拿到数据
    // 否则的话抛出错误
    if (response.data.message === '身份认证失败！') {
        localStorage.removeItem('token');
        location.href = '/login.html'
    } 
    return response
  },
  error => {
      return Promise.reject(error)
  }
)
